package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: H_tao_X
 * Date: 2022-08-11
 * Time: 11:13
 */

/**
 * 实现 收藏喜欢音乐 模块设计
 */
@Mapper
public interface LoveMusicMapper {


    /**
     * 查询 是否 已经收藏过该音乐
     * @param userId
     * @param musicId
     * @return
     */
    Music findLoveMusicByMusicIdAndUserId(int userId,int musicId);

    /**
     * 点赞/收藏音乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId,int musicId);

    /**
     * 查询 这个 用户 收藏过的/喜欢的 所有音乐
     */

    List<Music> findLoveMusicByUserId(int userId);

    /**
     * 查询 当前 用户，指定为 musicName 的音乐，同时他支持模糊查询
     * @param musicName
     * @param userId
     * @return
     */
    List<Music> findLoveMusicBykeyAndUID(String musicName,int userId);

    /**
     * 取消收藏音乐/取消收藏，移除某个用户喜欢的音乐
     * @param userId 用户的ID
     * @param musicId 音乐的ID
     * @return 受影响的行数
     */
    int deleteLoveMusic(int userId,int musicId);


    /**
     * 根据音乐的id进行删除
     * @param musicId  音乐的id
     * @return 删除了几条数据
     */
    int deleteLoveMusicByMusicId(int musicId);
}
